在因緣際會下知道了Flask,所以把學的過程記錄下來,今天就先簡單介紹一下甚麼是Flask。
Flask 是一個使用 Python 語言開發的輕量級 Web 應用框架。近年來因為Python簡單易學的語法以及強大的生態系統,所以在Web開發領域也逐漸受到青睞。其中Flask的哲學是保持核心簡單但擴充性強,它只提供了路由、模板、靜態檔案等最基本的功能,其他大多數功能則是通過擴展提供,這樣可以讓我們按需求選擇。
Flask強調概念明確、低耦合度和可擴充性。和Django等全能框架不同,Flask提供更多自由度給開發者。這也是我選擇學習 Flask 的主要原因。
下面我整理了幾個Flask的特徵。
- 微框架
- Flask提供了網頁應用程式開發的核心功能,包括路由、模板和處理請求等,而其他功能如資料庫整合則需要額外的擴展。這使得Flask很容易上手,也可以根據需要自定義擴展。
- 使用路由機制來實現URL到Python函數的映射,例如:
@app.route('/')
def index():
return 'Hello World'
#這樣就可以將根路徑 '/' 對應到 index() 函數。
-
基於Werkzeug(WSGI工具箱)
- Web Servert Gateaway Interface(Web伺服器閘道器介面)已被用作Python Web應用開發的標準。WSGI是Web伺服器和Web應用程式之間通用街口的規範。
- Flask建立在Werkzeug WSGI工具箱之上,這使得它可以處理HTTP請求和響應。Werkzeug提供了諸如參數解析、請求對象、響應對象等功能。
-
基於Jinja2
- Flask使用Jinja2作為其模板引擎。Jinja2使得可以方便地將模型數據渲染到HTML模板中,原本我不知道Jinja是甚麼,但在實際操作過後發現真的蠻方便的。
- 可以看看這兩篇喔jinja2基礎用法,Jinja2 pipe
-
可擴展的
-
總結
- Python Flask是一個非常適合用戶建立小型或中型網頁應用的框架,它容易上手但又可擴展靈活。如果要開發API或網頁應用,Flask絕對是一個不錯的選擇。像是知名網站pinterest也是用Flask製作的。
在未來30天我會先從簡單的語法或是一些常用方便的實作開始介紹,希望可以在實作中學習Flask。